package com.wkbb.basic.service;

import com.github.pagehelper.PageInfo;
import com.wkbb.basic.model.UserFaceOrder;
import com.wkbb.basic.vo.FaceReportVo;
import com.wkbb.common.base.BaseService;
import java.util.List;
import java.util.Map;

/**
 * @author lizhichao
 * @date 2019/11/11
 * @description
 */
public interface UserFaceReportService extends BaseService {

    /**
     *  获取代理商报表列表
     * @param params
     * @param pageNo
     * @param pageSize
     * @return
     * @throws Exception
     */
    PageInfo<FaceReportVo> getAgentFaceReportPageInfoList(Map<String,Object> params, Integer pageNo, Integer pageSize) throws Exception;

    /**
     *  获取总部报表列表
     * @param pageNo
     * @param pageSize
     * @return
     * @throws Exception
     */
    PageInfo<FaceReportVo> getHeadQuartFaceReportPageInfoList(Map<String,Object> params,Integer pageNo, Integer pageSize) throws Exception;

    /**
     *  获取发放历史记录
     * @param params
     * @return
     * @throws Exception
     */
    List<UserFaceOrder> getFaceOrderHistory(Map<String,Object> params) throws Exception;

    /**
     *  下放人脸并入库存表
     * @param userFaceOrder
     * @throws Exception
     */
    void insert(UserFaceOrder userFaceOrder,Boolean isSuper) throws Exception;

    /**
     *  查询库存详情
     * @param params
     * @return
     */
    FaceReportVo getUserFaceStoreInfo(Map<String,Object> params) throws Exception;

    /**
     *  开通，回收人脸（学校）
     * @param userFaceOrder
     */
    void addUserFaceOrderForStudent(UserFaceOrder userFaceOrder) throws Exception;

    /**
     *  学校向学生开通人脸
     * @param userFaceOrders
     */
    void addUserFaceOrderBatch(List<UserFaceOrder> userFaceOrders) throws Exception;

}
